home *** CD-ROM | disk | FTP | other *** search
-
-
-
- //------------------------------------------------------------------
- // Name: Particle system class
- // Desc: *********************
- //------------------------------------------------------------------
- class PARTICLESYSTEM
- {
- private:
- public:
-
- //---------------
- //Particle
- //---------------
- PARTICLE *Particle;
- PARTICLEPOINT *Point;
-
- int ActParticle;
- int NumParticles;
-
- //--------------
- //Kolizie
- //--------------
- OCTREE *Oct;
- bool OctreeCollision;
- void SetOctreeCollision(OCTREE *O);
-
- //--------------
- //CycleMode
- //--------------
- float CycleLeght; //doba ktoru ziju particle
- float SpawnFreqency; //ako casto vypuÜa¥ particle
- float ActTime; //aktualny Φas
-
- //---------------
- //Vlastnosti
- //---------------
- EMITTER Emitter;
- VECTOR3D Direction; //normalized
- float DirectionPower;
- VECTOR3D Gravity; //normalized
- float GravityPower;
- float SpawnPower; //sila vypustenia
- float DirRandFactor; //tolerancie random smeru 0-1
- float MirrorFactor; //kolko sily sa zachova po odraze
-
- bool Rotation; //rotovanie
- float RotationSpeed;
-
- //SRC vlastnosti pociatocne
- float SRCSize;
- float SRCFrame;
- COLOR SRCColor;
-
-
- //DST vlastnosti koneΦne
- float DSTSize;
- float DSTFrame;
- COLOR DSTColor;
-
- //------------------------
- //Funckie
- //------------------------
- PARTICLESYSTEM();
- ~PARTICLESYSTEM();
-
- void Initialize(PARTICLE *P,int NParticles);
-
- void SpawnParticles(int NParticles);
- void SpawnParticlesTime(int NParticles);
- void Spawn();
-
- void ProcessParticles();
-
- void Render();
-
- };